<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Object.create</title>
</head>
<body>
    <script>
        //声明一个对象
        var car = {
            name: '汽车'
        };

        //以某个对象作为原型创建新的对象
        var byd = Object.create(car, {
            //品牌属性
            brand: {
                value: '比亚迪',
                //1. 配置属性是否可以被删除   config 配置
                configurable: false, // 默认值是 false 
                //2. 配置该属性值是否被修改  write 写入  
                writable:  true, //  默认值是 false
                //3. 配置该属性是否可以枚举
                enumerable: true // 默认值是 false
            },
            price: {
                //当对象访问 price 属性的时候, 自动执行, 并且用函数的返回值作为属性的属性值
                // getter 访问器
                get: function(){
                    return this.t;
                },
                //当对对象的 price 属性进行设置的时候, 自动执行, 并且会将设置的值, 作为参数传递给 set 方法
                // setter 设置器
                set: function(v){
                    this.t = v;
                }
            }
        });

        //删除 brand 属性
        // delete byd.brand;
        //修改 brand 属性
        // byd.brand = 'BYD';
        //遍历 byd 对象
        // for(var i in byd){
        //     console.log(i);
        // }

        //访问 price 属性
        // console.log(byd.price);

        //设置 price 属性
        byd.price = 150000;

        // console.log(byd);
        console.log(byd.price);
    </script>
</body>
</html>